import zTabsConfig from '../config/index'
// 获取默认配置信息
function _gc(key, defaultValue) {
	let config = null;
	if (zTabsConfig && Object.keys(zTabsConfig).length) {
		config = zTabsConfig;
	} else {
		return defaultValue;
	}
	const value = config[key];
	return value === undefined ? defaultValue : value;
}
export default {
	props: {
		//数据源数组，支持形如['tab1','tab2']的格式或[{name:'tab1',value:1}]的格式
		list: {
			type: Array,
			default: function() {
				return [];
			}
		},
		//当前选中的index
		current: {
			type: [Number, String],
			default: _gc('current',0)
		},
		//list数组长度超过scrollCount时滚动显示(不自动铺满全屏)
		scrollCount: {
			type: [Number, String],
			default: _gc('scrollCount',5)
		},
		//z-tabs样式
		tabsStyle: {
			type: Object,
			default: function() {
				return _gc('tabsStyle',{})
			}
		},
		//自定义每个tab的宽度，默认为0，即代表根据内容自动撑开，单位rpx，支持传100、"100px"或"100rpx"
		tabWidth: {
			type: [Number, String],
			default: _gc('tabWidth',0)
		},
		//滑块宽度，单位rpx，支持传100、"100px"或"100rpx"
		barWidth: {
			type: [Number, String],
			default: _gc('barWidth',45)
		},
		//滑块高度，单位rpx，支持传100、"100px"或"100rpx"
		barHeight: {
			type: [Number, String],
			default: _gc('barHeight',8)
		},
		//swiper的宽度，单位rpx，支持传100、"100px"或"100rpx"，默认为"750rpx"
		swiperWidth: {
			type: [Number, String],
			default: _gc('swiperWidth',750)
		},
		//滑块样式，其中的width和height将被barWidth和barHeight覆盖
		barStyle: {
			type: Object,
			default: function() {
				return _gc('barStyle',{});
			}
		},
		//tabs与底部的间距，单位rpx，支持传100、"100px"或"100rpx"
		bottomSpace: {
			type: [Number, String],
			default: _gc('bottomSpace',8)
		},
		//切换tab时滑块动画模式，与swiper联动时有效，点击切换tab时无效，必须调用setDx。默认为line，即切换tab时滑块宽度保持不变，线性运动。可选值为worm，即为类似毛毛虫蠕动效果
		barAnimateMode: {
			type: String,
			default: _gc('barAnimateMode','line')
		},
		//list中item的name(标题)的key
		nameKey: {
			type: String,
			default: _gc('nameKey','name')
		},
		//list中item的value的key
		valueKey: {
			type: String,
			default: _gc('valueKey','value')
		},
		//激活状态tab的颜色
		activeColor: {
			type: String,
			default: _gc('activeColor','#007AFF')
		},
		//未激活状态tab的颜色
		inactiveColor: {
			type: String,
			default: _gc('inactiveColor','#666666')
		},
		//禁用状态tab的颜色
		disabledColor: {
			type: String,
			default: _gc('disabledColor','#bbbbbb')
		},
		//激活状态tab的样式
		activeStyle: {
			type: Object,
			default: function() {
				return _gc('activeStyle',{});
			}
		},
		//未激活状态tab的样式
		inactiveStyle: {
			type: Object,
			default: function() {
				return _gc('inactiveStyle',{});
			}
		},
		//禁用状态tab的样式
		disabledStyle: {
			type: Object,
			default: function() {
				return _gc('disabledStyle',{});
			}
		},
		//z-tabs背景色
		bgColor: {
			type: String,
			default: _gc('bgColor','white')
		},
		//徽标数最大数字限制，超过这个数字将变成badgeMaxCount+
		badgeMaxCount: {
			type: [Number, String],
			default: _gc('badgeMaxCount',99)
		},
		//徽标样式，例如可自定义背景色，字体等等
		badgeStyle: {
			type: Object,
			default: function() {
				return _gc('badgeStyle',{})
			}
		},
		//初始化时是否自动触发change事件
		initTriggerChange: {
			type: Boolean,
			default: _gc('initTriggerChange',false)
		},
		//z-tabs中布局的单位，默认为rpx
		unit: {
			type: String,
			default: _gc('unit', 'rpx')
		},
		//leoTabsClass自定义样式
		leoTabsClass: {
			type: String,
			default: _gc('leoTabsClass', '')
		}
	}
}